﻿using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using TTGame;

/*
 * BattleGlobalData -> 使用LTHeroConfigInfo
 *
 * 战斗全局数据。为了减少重复加载，切关时不会删除。
 * 如：本地的人物配置。
 *
 * 依赖：
 *
 * ！不写重复代码！
 * @author TTun
 * @date 9/14/2017 2:39:34 PM
 */
// namespace TTGameEngine {
// public class BattleHeroConfigInfo {
//     public int heroID;
//     public string name;
//     public string prefab;
//     public string icon;
//     public List<int> skillPropIDs = new  List<int>();  //技能属性表的ID
//     public List<int> skillUnlockLvs = new List<int>();  //技能解锁等级
//     public List<int> cmdSkillPropIDs = new List<int>();  //统帅技能属性表的ID
//     public List<int> cmdSkillUnlockLvs = new List<int>();  //统帅技能解锁等级
// }
//
// public class BattleLocalData : MonoBehaviour {
//     static BattleLocalData m_ins;
//
//     //<hero id="1" name="英雄1" prefab="Player_1" icon="herohead/g001" skill="1;101" .../>
//     public Dictionary<string, Dictionary<string, object>> heroLocalDict;
//     public Dictionary<int, BattleHeroConfigInfo> heroConfigs = new Dictionary<int, BattleHeroConfigInfo>();
//
//     static public BattleLocalData Share() {
//         if(m_ins == null) {
//             m_ins = GameLauncher.Self.AddLogicScript<BattleLocalData>();
//             m_ins.init();
//         }
//         return m_ins;
//     }
//
//     void init() {
//         heroLocalDict = LocalController.shared().getGroupByKey("AddHero");
//         for(var ite = heroLocalDict.Values.GetEnumerator(); ite.MoveNext() != false;) {
//             var dict = ite.Current;
//             BattleHeroConfigInfo heroConfig = new BattleHeroConfigInfo();
//             heroConfig.heroID = dict.intValueForKey("id");
//             heroConfig.name = dict.valueForKey("name");
//             heroConfig.prefab = dict.valueForKey("prefab");
//             heroConfig.icon = dict.valueForKey("icon");
//             string skillValue = dict.valueForKey("skill");
//             string commanderSkillValue = dict.valueForKey("commander_skill");
//
//             if(string.IsNullOrEmpty(skillValue) == false) {
//                 string[] skillPropIDs = skillValue.Split(';', ',');
//                 for(int i = 0; i < skillPropIDs.Length; i += 2) {
//                     heroConfig.skillPropIDs.Add(skillPropIDs[i].intValue());
//                     heroConfig.skillUnlockLvs.Add(skillPropIDs[i + 1].intValue());
//                 }
//             }
//             if(string.IsNullOrEmpty(commanderSkillValue) == false) {
//                 string[] commanderSkillProps = commanderSkillValue.Split(';', ',');
//                 for(int i = 0; i < commanderSkillProps.Length; i += 2) {
//                     heroConfig.cmdSkillPropIDs.Add(commanderSkillProps[i].intValue());
//                     heroConfig.cmdSkillUnlockLvs.Add(commanderSkillProps[i + 1].intValue());
//                 }
//             }
//             heroConfigs.Add(heroConfig.heroID, heroConfig);
//         }
//     }
//
//     public BattleHeroConfigInfo GetHeroConfig(int heroID) {
//         BattleHeroConfigInfo heroConfig = null;
//         heroConfigs.TryGetValue(heroID, out heroConfig);
// #if UNITY_EDITOR
//         if(heroConfig == null) {
//             DebugUtil.LogErrorFormat("[BattleLocalData] 英雄本地配置表找不到英雄ID:[{0}]", heroID);
//         }
// #endif
//         return heroConfig;
//     }
// }
//
//}
